package com.example.questionnaire.mbg.service;

import com.example.questionnaire.dto.QuestionDTO;
import com.example.questionnaire.mbg.entity.Questionnaire;

import java.util.Date;
import java.util.List;

public interface IQuestionnaireService {

    int create(Questionnaire questionnaire, List<QuestionDTO> questions);

    List<Questionnaire> list(int uid, int page, int pageSize);

    List<Questionnaire> listInTrash(int uid, int page, int pageSize);

    void close(int qnid);

    void restore(int qnid);

    void publish(int qnid);

    void remove(int qnid);

    Questionnaire get(int quid);

    void incReceiveCnt(int qnid);

    void update(Questionnaire questionnaire, List<QuestionDTO> questions);

    void alter(Questionnaire questionnaire, List<QuestionDTO> questions);

    int copy(Questionnaire qn);

    boolean exist(String encodedId);

    void setEncodedId(int qnid, String encodedId);

    Questionnaire getEncoded(String encodedId);

    void check(Date date);
}